package com.service;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.StoreupEntity;
import java.util.List;
import java.util.Map;
import com.entity.vo.StoreupVO;
import org.apache.ibatis.annotations.Param;
import com.entity.view.StoreupView;


/**
 * 收藏表服务接口
 *
 * 该接口定义了与收藏表相关的业务方法，包括分页查询、收藏视图查询等。
 * 通过实现该接口，可以实现收藏表的数据增删改查操作。
 *
 * @author team10
 */
public interface StoreupService extends IService<StoreupEntity> {

	/**
	 * 分页查询收藏数据
	 *
	 * @param params 查询参数，包括分页信息
	 * @return 返回分页结果，包含查询到的收藏数据
	 */
	PageUtils queryPage(Map<String, Object> params);

	/**
	 * 根据条件查询收藏列表（VO视图对象）
	 *
	 * @param wrapper 条件构造器，用于构造查询条件
	 * @return 返回查询到的收藏数据列表
	 */
	List<StoreupVO> selectListVO(Wrapper<StoreupEntity> wrapper);

	/**
	 * 根据条件查询单个收藏（VO视图对象）
	 *
	 * @param wrapper 条件构造器，用于构造查询条件
	 * @return 返回查询到的单条收藏数据
	 */
	StoreupVO selectVO(@Param("ew") Wrapper<StoreupEntity> wrapper);

	/**
	 * 根据条件查询收藏列表（View视图对象）
	 *
	 * @param wrapper 条件构造器，用于构造查询条件
	 * @return 返回查询到的收藏视图数据列表
	 */
	List<StoreupView> selectListView(Wrapper<StoreupEntity> wrapper);

	/**
	 * 根据条件查询单个收藏（View视图对象）
	 *
	 * @param wrapper 条件构造器，用于构造查询条件
	 * @return 返回查询到的单条收藏视图数据
	 */
	StoreupView selectView(@Param("ew") Wrapper<StoreupEntity> wrapper);

	/**
	 * 分页查询收藏数据，支持自定义查询条件
	 *
	 * @param params 查询参数，包括分页信息
	 * @param wrapper 条件构造器，用于构造查询条件
	 * @return 返回分页结果，包含查询到的收藏数据
	 */
	PageUtils queryPage(Map<String, Object> params, Wrapper<StoreupEntity> wrapper);

}
